package com.anjie.powerproject.service;

import com.anjie.powerproject.entity.Relationship;
import com.anjie.powerproject.pojo.CustomRelationshipObject;
import com.anjie.powerproject.pojo.dto.RelationshipDTO;

import java.util.List;
import java.util.Map;

public interface RelationshipService {

    void saveRelationshipList(List list);

    List findRelationshipByFrom(Integer deviceFrom);

    public List findAllRelationship();

    void deleteRelationshipById(Integer relId);

    List findCustomRelationship(Integer deviceId);

    List findCustomRelationshipList();

    List<Map> getEdgeByGraphId(Integer graphId);

    // 小野
    Map<String, String> findDeviceInfoByGraphId(Integer graphId);

    List<CustomRelationshipObject> findCustomRelationshipListByGraphId(Integer graphId);

    boolean checkDuplicateRelationship(Relationship relationship);

    Relationship findRelationshipById(Integer id);

    Relationship updateRelationship(Relationship relationship);

    Relationship findRelationshipByFromAndToAndGraphId(Relationship relationship);

    List getRelationshipListByGraphId(Integer graphId);

    void deleteRelationshipByGraphId(Integer graphId);

    void deleteRelationshipOfDevice(Integer deviceId);

    boolean checkStgyCode(String stgyCode);

    List findRelationshipByDeviceTo(Integer deviceTo);

    List findRelationshipByDeviceFrom(Integer deviceFrom);

    List findCustomRelationshipByDeviceFromAndGraphId(Integer deviceTo,Integer graphId);

    List findRelationshipByDeviceFromAndGraphId(Integer deviceFrom,Integer graphId);

    void deleteRelationshipList(List<Relationship> list);

    CustomRelationshipObject getCustomRelationshipById(Integer id);

    List<RelationshipDTO> getall(Integer graphId);
}
